
package View;

import Main.FileOrganizer;
import java.awt.Dimension;
import java.io.IOException;
import javax.swing.JDialog;
import javax.swing.JEditorPane;
import javax.swing.JRootPane;
import javax.swing.JScrollPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
/**
 * Klasa odpowiadająca za wyświetlanie okna pomocy w nowym oknie.
 * @param help - pane na którym będzie wyświetlany plik pomocy.
 * @param scroll - dodanie możliwości scrollowania.
 * @param parent - referencja na okno rodzica. 
 */
public class Help extends JDialog implements HyperlinkListener {
  private JEditorPane help;
  private JScrollPane scroll;
  private JRootPane parent;
  Help(JRootPane parent) {    
    setTitle("Pomoc");
    help = new JEditorPane();
    try {
      help.setContentType("text/html; charset=ISO-8859-2");
      help.setPage(FileOrganizer.class.getResource("resources/pomoc.html"));
      help.setEditable(false);
      help.addHyperlinkListener(this);
    }
    catch(IOException e) {
      throw new RuntimeException("Nie udało się odczytać pliku pomocy");
    }
    scroll = new JScrollPane(help);
    setMinimumSize(new Dimension(800,500));
    add(scroll);
    this.setLocationRelativeTo(parent);
    this.setVisible(true);
  }
  @Override
  public void hyperlinkUpdate(HyperlinkEvent event) {
    if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
      try {
        help.setPage(event.getURL());
      } catch(IOException e) {
        throw new RuntimeException("Błąd przy otwieraniu url: "+event.getURL());
      }
    }
  }
}
         
    
